#include "DelayTime.h"
#include <REGX52.H>

// 选中哪个段码的buf
unsigned char Nixie_Buf[9]={0,10,10,10,10,10,10,10,10};

// 0-9 段码对应的值 0x00 什么都不显示 0x40 显示 -
int nums[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40};

void Set_Buf(unsigned char n,unsigned char  num)
{
	Nixie_Buf[n] = num;
}

// 第几个LED显示num
void Nixie_Scan(unsigned char n,unsigned char  num)
{
	P0 = 0x00;
	// 位选
	switch(n)
	{
		case 1:P2_4=1;P2_3=1;P2_2=1;break;
		case 2:P2_4=1;P2_3=1;P2_2=0;break;
		case 3:P2_4=1;P2_3=0;P2_2=1;break;
		case 4:P2_4=1;P2_3=0;P2_2=0;break;
		case 5:P2_4=0;P2_3=1;P2_2=1;break;
		case 6:P2_4=0;P2_3=1;P2_2=0;break;
		case 7:P2_4=0;P2_3=0;P2_2=1;break;
		case 8:P2_4=0;P2_3=0;P2_2=0;break;
	}
	// 段选
	P0 = nums[num];
} 	




void Nixie_Loop()
{
	static unsigned char i = 1;
	Nixie_Scan(i,Nixie_Buf[i]);
	i++;
	if(i>=9)
		i = 1;
}